#!/usr/bin/env python3
# -*- coding=utf-8 -*-
# 本脚由亁颐堂现任明教教主编写，用于乾颐盾Python课程！
# 教主QQ:605658506
# 亁颐堂官网www.qytang.com
# 教主技术进化论拓展你的技术新边疆
# https://ke.qq.com/course/271956?tuin=24199d8a

from bs4_1_get_soup import taobao_soup


# find_all( name , attrs , recursive , text , **kwargs )
# find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件
# name 参数可以查找所有名字为 name 的tag,字符串对象会被自动忽略掉

# # 一号方案,传字符串
# print(taobao_soup.find_all('a'))
#
# for a in taobao_soup.find_all('a'):
#     print(a.get('href'))

# # 二号方案,传正则表达式
# import re
# print(taobao_soup.find_all(re.compile("^a")))
#
# for a in taobao_soup.find_all(re.compile("^a")):
#     print(a.get('href'))

# # 三号方案,传列表
# print(taobao_soup.find_all(['a', 'p']))
#
# for ap in taobao_soup.find_all(['a', 'p']):
#     print(ap.attrs)

# 四号方案,传列表
def has_class_but_no_id(tag):
    return tag.has_attr('class') and not tag.has_attr('id')


for a in taobao_soup.find_all(has_class_but_no_id):
    print(a.attrs)
